class Solution {
    public int wiggleMaxLength(int[] nums) {
        int n=nums.length;
        int[][] dp=new int[n][2];
        //0是<  1是>

        //初始化
        for (int i = 0; i < n; i++) {
            dp[i][0]=1;
            dp[i][1]=1;
        }

        for (int i = 1; i < n; i++) {
            int max0=0;
            int max1=1;

            for (int j = 0; j < i; j++) {
                if(nums[j]>nums[i]){
                    max0=Math.max(max0,dp[j][0]);
                }

                if(nums[j]<nums[i]){
                    max1=Math.max(max1,dp[j][1]);
                }
            }

            dp[i][0]=Math.max(dp[i][0],max1)+1;
            dp[i][1]=Math.max(dp[i][1],max0)+1;
        }

        int ans=0;
        for (int i = 0; i < n; i++) {
            ans=Math.max(ans,Math.max(dp[i][0],dp[i][1]));
        }
        return ans;
    }
}